--按小时定时运行任务
local dayrun = {}
local day
local timerun = {}

--把时间段的工作都分装进时间运行的入口
timerun[14] = function ()
	
	print("以下为14点后做的事情")
	function main()
		
		--清理后台
		cleanAll()
		
		--关闭vpn
		setVPNEnable(false)
		mSleep(2000)
		
		--下一条记录
		nextMemory()
		mSleep(2000)
		
		--打开VPN
		setVPNEnable(true)
		
		--切换ip
		changeIP()
		mSleep(5000)
		
		--开始任务
		play()
		lua_restart()
	end
	
	main()
end

timerun[14] = function ()
	print("以下为19点后做的事情")
end

function timerun.other()
	--如果其他时间不做事情,可以一直mSleep
	--计算当前时间的分钟数,计算出到下个小时的时间
	local t = 60 - tonumber(os.date("%M",os.time()))
	mSleep(t * 60 * 1000 or 60000)
end

--进入循环判断
while true do
	--以天为单位,初始化一下
	if day ~= os.date("%d",os.time()) then
		for i = 1,24 do
			if timerun[i] then
				dayrun[i] = timerun[i]
			else
				dayrun[i] = false
			end
		end
		day = os.date("%d",os.time())
	end
	local timeH = tonumber(os.date("%H",os.time()))
	for i,v in ipairs(dayrun) do
		if v and timeH >= i then
			v()
			v = false
		end
		if i == 24 then timerun.other() end
	end
end


--设置定时器
time = os.time();

--初始化
init("0",0);
mSleep(2000);

--来电暂停
luaExitIfCall(true);

--点击函数
function click(n,x,y)
	mSleep(500);
	touchDown(n,x,y);  
	mSleep(50);
	touchUp(n,x,y);
	mSleep(500);
end

--清理后台     
function cleanAll()
	closeApp("*",1);
	
end

function timeOut()
	--如果一段时间内没有检测到，则判断为任务失败，结束脚本。
	if os.time()-time>180 then
		lua_restart();
	end
end

function movettoo(n,x,y,a,b)
	-- body
	touchDown(n, x, y); --在坐标 (150, 550)按下
	mSleep(80);
	touchMove(n, a, b); --移动到坐标 (150, 600)，注意一次滑动的坐标间隔不要太大，不宜超过50像素
	mSleep(80);
	touchUp(n, a, b);   --在坐标 (150, 600) 抬起
end

function clickColor(x,y,color)
	
	if isColor(x, y, color,90) then
		mSleep(500);
		click(1,x, y);
		mSleep(1500);
	end   
end 

--点击home键
function home()
	mSleep(500);
	--按下home键退出
	pressHomeKey(0);    --按下 Home 键
	mSleep(50);
	pressHomeKey(1);    --抬起 Home 键
	mSleep(500);
end


--颜色模糊判断
function isColor(x,y,c,s)   --封装函数，函数名 isColor
    local fl,abs = math.floor,math.abs
    s = fl(0xff*(100-s)*0.01)
    local r,g,b = fl(c/0x10000),fl(c%0x10000/0x100),fl(c%0x100)
    local rr,gg,bb = getColorRGB(x,y)
    if abs(r-rr)<s and abs(g-gg)<s and abs(b-bb)<s then
        return true
    end
end

function changeIP()
		--切换ip
		openURL("http://lumtest.com/myip.json?switchproxy")
		mSleep(4000)
		--判断是否更换完成
		time_7 = os.time()
		while (true) do
			if isColor(22,157,0x000000,90)then
				mSleep(1000)
				break
			end
			time_8 = os.time()
			if (time_8-time_7>10) then
				break
			end
		end

	end

--进入下一条记录
	function nextMemory()
		--进入AWZ执行下一条记录
		openURL("IGG://cmd/nextrecord");
		mSleep(5000)
		--按下home键退出
		home()
	end

	function play()
		--启动软件
		r = runApp("jp.co.paperboy.minne")
		mSleep(5000)
		--判断是否是minne留存
		while (true) do
			if isColor(581,81,0xfb8c00,90)then
				mSleep(2000)
				break
			end
			if isColor(581,81,0xfffdf9,90)then
				mSleep(2000)
				ret = dialogRet("无有效留存记录", "执行下一条", "结束脚本", 0, 0);--定义弹出框文本
				if ret == 0 then    --如果按下"执行下一条"按钮
					init("0",0);    --开始初始化
					toast("您选择了执行下一条，脚本继续运行")
					lua_restart()   --重新运行脚本
				else 
					toast("您选择了结束脚本，脚本即将结束")
					mSleep(1000)
					cleanAll()   
					return          --反之结束脚本
				end
			end
		end

		--随机一个时间
		math.randomseed(tostring(os.time()):reverse():sub(1, 7)) --设置随机数种子
		Randomx = math.random(10,15);
		mSleep(Randomx*1000)

		--随机纵向滑动
		math.randomseed(tostring(os.time()):reverse():sub(1, 7)) --设置随机数种子
		case = math.random(1,10);
		mSleep(1000);
		if case == 1 then   
			movettoo(1,336,  664,336,  612)
			mSleep(1000);
		elseif case == 2 then  
			movettoo(1,336,  664,336,  550)
			mSleep(1000);
		elseif case == 3 then  
			movettoo(1,336,  664,336,  500)
			mSleep(1000);
		elseif case == 4 then  
			movettoo(1,336,  664,336,  450)
			mSleep(1000);
		elseif case == 5 then  
			movettoo(1,336,  664,336,  400)
			mSleep(1000);
		elseif case == 6 then  
			movettoo(1,336,  664,336,  350)
			mSleep(1000);
		elseif case == 7 then  
			movettoo(1,336,  664,336,  300)
			mSleep(1000);
		elseif case == 8 then  
			movettoo(1,336,  664,336,  250)
			mSleep(1000);
		elseif case == 9 then  
			movettoo(1,336,  664,336,  200)
			mSleep(1000);
		elseif case == 10 then  
			movettoo(1,336,  664,336,  150)
			mSleep(1000);
		end

		--随机一个时间
		math.randomseed(tostring(os.time()):reverse():sub(1, 7)) --设置随机数种子
		Randomx = math.random(10,15);
		mSleep(Randomx*1000);

		--随机点击屏幕坐标
		math.randomseed(tostring(os.time()):reverse():sub(1, 7)) --设置随机数种子
		case = math.random(1,15);
		mSleep(1000);
		if case == 1 then   
			click(1,69,  145); 
			mSleep(1000);
		elseif case == 2 then  
			click(1,206,  145); 
			mSleep(1000);
		elseif case == 3 then  
			click(1,354,  154);
			mSleep(1000);
		elseif case == 4 then  
			click(1,70,  276);
			mSleep(1000);
		elseif case == 5 then  
			click(1,230,  276);
			mSleep(1000);
		elseif case == 6 then  
			click(1,356,  277); 
			mSleep(1000);
		elseif case == 7 then  
			click(1,76,  394); 
			mSleep(1000);
		elseif case == 8 then  
			click(1,209,  393);
			mSleep(1000);
		elseif case == 9 then  
			click(1,354,  398);
			mSleep(1000);
		elseif case == 10 then  
			click(1,64,  508); 
			mSleep(1000);
		elseif case == 11 then  
			click(1,214,  505);
			mSleep(1000);
		elseif case == 12 then  
			click(1,353,  517);
			mSleep(1000);
		elseif case == 13 then  
			click(1,64,  632);
			mSleep(1000);
		elseif case == 14 then  
			click(1,201,  640); 
			mSleep(1000);
		elseif  case == 15 then
			click(1,370,  636); 
			mSleep(1000)   
		end  
		mSleep(30*1000)
		dialog("准备进入下一条留存", 5)
	end	


	